package com.deyuanyun.pic.settings.service.pipe;

import java.math.BigDecimal;
import java.util.List;

import com.deyuanyun.pic.settings.controller.pipe.vo.PipeLocationDTO;
import com.deyuanyun.pic.settings.controller.pipe.vo.PipePositionDTO;

/**
 * 管道位置服务
 * 主要是管道的上的各种位置的获取。起点、终点。
 * 
 * @author ChenKui
 *
 */
public interface PipeLocationService {

    /**
     * 获取某一个管道下，指定起止位置中的桩、场站阀室。
     * 
     * @param pipeLineId
     * @param beginMileage
     * @param endMileage
     * @param signName
     * @param targetType
     * @return
     */
    List<PipeLocationDTO> queryPipeLocation(String pipeLineId,BigDecimal beginMileage,BigDecimal endMileage,String signName,String targetType);
    
    /**
     * 获取指定编号的桩、场站阀室
     * 有缓存
     * 
     * @param pipeLineId
     * @param id
     * @return
     */
    PipeLocationDTO queryPipeLocationById(String pipeLineId,String id);
    
    /**
     * 根据管道编号，桩或者场站阀室的名称查询
     * 有缓存
     * @param pipeLineId
     * @param signName
     * @return
     */
    PipeLocationDTO queryPipeLocationByName(String pipeLineId,String signName);
    
    
    /**
     * 根据管道编号获取起点和终点位置
     * @param pipeLineId
     * @return
     */
    PipePositionDTO queryPipeLinePosition(String pipeLineId);
    
    /**
     * 获取管段的起点和终点位置
     * 
     * @param pipeSegmentId
     * @return
     */
    PipePositionDTO queryPipeSegmentPosition(String pipeSegmentId);
    
    
}
